home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
8bitfiles.net/archives
/
archives.tar
/
archives
/
geos-archive
/
GEOS-D64
/
GEOS Mega ASM (19xx)(-).d64
/
list-b-4.24
< prev
next >
Wrap
Text File
|
2019-04-13
|
2KB
|
100 lines
; Listing B.4.24
; *******************************
; * *
; * Demonstration der Routine *
; * *
; * BitOtherClip *
; * *
; * *
; *******************************
if .p
t "TopSym"
t "TopMac"
endif
n "BitOtherClip"
t "TestMen}"
:DoShow
LoadW r6,Filename ; Zeiger auf zu suchendes
; File (Photo Scrap)
jsr FindFile
txa ; Fehler im x-Register
beq Read3 ; wenn Fehler --> EndShow
rts
:Read3 LoadW r4,diskBlkBuf
LoadW r5,0
MoveW dirEntryBuf+1,r1
jsr ReadByte
sta CardWidth
jsr ReadByte
sta PixHLow
jsr ReadByte
sta PixHHigh
MoveW r4,memBuf
MoveW r5,memNum
MoveW r1,memTrSc
LoadW r0,Buf134
LoadB r1L,1
LoadB r1H,20
MoveB CardWidth,r2L
MoveB PixHLow,r2H
LoadW r11,0
LoadW r12,0
LoadW r13,Input
LoadW r14,Sync
jsr BitOtherClip ; Routine anspringen
rts ; Ende Unterprogramm
; Inputroutine }ber ReadByte
:Input ldy #29 ; r0-r13 = 28 Bytes retten
LoadW a0,$02
::10 lda (a0),y
sta merken,y ; nach merken retten
dey
bpl :10
MoveW memTrSc,r1 ; r1,r4,r5
MoveW memBuf,r4 ; zur}ckschreiben
MoveW memNum,r5 ; f}r ReadByte
jsr ReadByte
pha ; gelesenes Byte im Akku
; merken
MoveW r1,memTrSc ; r1,r4,r5 merken
MoveW r4,memBuf ; f}r die sp{tere
MoveW r5,memNum ; Bearbeitung
ldy #29 ; r0-r13 = 28 Bytes
LoadW a0,$02
::20 lda merken,y
sta (a0),y ; zur}ckschreiben
dey
bpl :20
ldy #$00
pla ; Byte wieder zur}ck
sta (r0),y
rts ; Ende Input
:Sync LoadW r0,Buf134
rts
:Buffer s 256
:memTrSc w 0
:CardWidth b 0
:PixHLow b 0
:PixHHigh b 0
:memBuf w 0
:memNum w 0
:merken s 40
:Buf134 s 134
:Filename b "Photo Scrap",0